home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / layout / nsISVGRendererPathBuilder.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  8KB  |  215 lines

  1. /*
  2.  * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsISVGRendererPathBuilder.idl
  3.  */
  4.  
  5. #ifndef __gen_nsISVGRendererPathBuilder_h__
  6. #define __gen_nsISVGRendererPathBuilder_h__
  7.  
  8.  
  9. #ifndef __gen_nsISupports_h__
  10. #include "nsISupports.h"
  11. #endif
  12.  
  13. /* For IDL files that don't want to include root IDL files. */
  14. #ifndef NS_NO_VTABLE
  15. #define NS_NO_VTABLE
  16. #endif
  17.  
  18. /* starting interface:    nsISVGRendererPathBuilder */
  19. #define NS_ISVGRENDERERPATHBUILDER_IID_STR "c3cd294e-39ae-4718-b2bc-87c0fad97a12"
  20.  
  21. #define NS_ISVGRENDERERPATHBUILDER_IID \
  22.   {0xc3cd294e, 0x39ae, 0x4718, \
  23.     { 0xb2, 0xbc, 0x87, 0xc0, 0xfa, 0xd9, 0x7a, 0x12 }}
  24.  
  25. /**
  26.  * \addtogroup renderer_interfaces Rendering Engine Interfaces
  27.  * @{
  28.  */
  29. /**
  30.  * One of a number of interfaces (all starting with nsISVGRenderer*)
  31.  * to be implemented by an SVG rendering engine. See nsISVGRenderer
  32.  * for more details.
  33.  *
  34.  * This interface is used by an nsISVGRendererPathGeometry object in
  35.  * a call to nsISVGPathGeometrySource::constructPath() to obtain a
  36.  * native representation of the path described by
  37.  * nsISVGPathGeometrySource.
  38.  */
  39. class NS_NO_VTABLE nsISVGRendererPathBuilder : public nsISupports {
  40.  public: 
  41.  
  42.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISVGRENDERERPATHBUILDER_IID)
  43.  
  44.   /**
  45.    * Move current position and start new sub-path.
  46.    *
  47.    * @param x X-coordinate (untransformed).
  48.    * @param y Y-coordinate (untransformed).
  49.    */
  50.   /* void moveto (in float x, in float y); */
  51.   NS_IMETHOD Moveto(float x, float y) = 0;
  52.  
  53.   /**
  54.    * Draw a straight line from the current position to (x,y). Advance
  55.    * current position to (x,y).
  56.    *
  57.    * @param x X-coordinate of end point (untransformed).
  58.    * @param y Y-coordinate of end point (untransformed).
  59.    */
  60.   /* void lineto (in float x, in float y); */
  61.   NS_IMETHOD Lineto(float x, float y) = 0;
  62.  
  63.   /**
  64.    * Draw cubic Bezier curve from the current position to (x,y) using
  65.    * (x1,y1) as the control point at the beginning og the curve and
  66.    * (x2,y2) as the control point at the end of the curve. Advance
  67.    * current position to (x,y).
  68.    *
  69.    * @param x  X-coordinate of end point (untransformed).
  70.    * @param y  Y-coordinate of end point (untransformed).
  71.    * @param x1 X-coordinate of first control point (untransformed).
  72.    * @param y1 Y-coordinate of first control point (untransformed).
  73.    * @param x2 X-coordinate of second control point (untransformed).
  74.    * @param y2 Y-coordinate of second control point (untransformed).
  75.    */
  76.   /* void curveto (in float x, in float y, in float x1, in float y1, in float x2, in float y2); */
  77.   NS_IMETHOD Curveto(float x, float y, float x1, float y1, float x2, float y2) = 0;
  78.  
  79.   /**
  80.    * Draw an elliptical arc from the current position to
  81.    * (x,y). Advance current position to (x,y).
  82.    *
  83.    * @param x            X-coordinate of end point (untransformed).
  84.    * @param y            Y-coordinate of end point (untransformed).
  85.    * @param r1           Radius of ellipse in X direction (untransformed).
  86.    * @param r2           Radius of ellipse in Y direction (untransformed).
  87.    * @param angle        Rotation of ellipse as a whole (untransformed).
  88.    * @param largeArcFlag PR_TRUE: choose the large arc (>=180 degrees),
  89.    *                     PR_FALSE: choose the smaller arc (<=180 degrees)
  90.    * @param sweepFlag    PR_TRUE: sweep in positive angle direction,
  91.    *                     PR_FALSE: sweep in negative angle direction
  92.    */
  93.   /* void arcto (in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag); */
  94.   NS_IMETHOD Arcto(float x, float y, float r1, float r2, float angle, PRBool largeArcFlag, PRBool sweepFlag) = 0;
  95.  
  96.   /**
  97.    * Close the current subpath. Move current position back to
  98.    * beginning of subpath.
  99.    *
  100.    * @param newX X-coordinate of new current position (untransformed).
  101.    * @param newY Y-coordinate of new current position (untransformed).
  102.    */
  103.   /* void closePath (out float newX, out float newY); */
  104.   NS_IMETHOD ClosePath(float *newX, float *newY) = 0;
  105.  
  106.   /**
  107.    * End the path description. Guaranteed to be the last function
  108.    * called.
  109.    */
  110.   /* void endPath (); */
  111.   NS_IMETHOD EndPath(void) = 0;
  112.  
  113. };
  114.  
  115. /* Use this macro when declaring classes that implement this interface. */
  116. #define NS_DECL_NSISVGRENDERERPATHBUILDER \
  117.   NS_IMETHOD Moveto(float x, float y); \
  118.   NS_IMETHOD Lineto(float x, float y); \
  119.   NS_IMETHOD Curveto(float x, float y, float x1, float y1, float x2, float y2); \
  120.   NS_IMETHOD Arcto(float x, float y, float r1, float r2, float angle, PRBool largeArcFlag, PRBool sweepFlag); \
  121.   NS_IMETHOD ClosePath(float *newX, float *newY); \
  122.   NS_IMETHOD EndPath(void); 
  123.  
  124. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  125. #define NS_FORWARD_NSISVGRENDERERPATHBUILDER(_to) \
  126.   NS_IMETHOD Moveto(float x, float y) { return _to Moveto(x, y); } \
  127.   NS_IMETHOD Lineto(float x, float y) { return _to Lineto(x, y); } \
  128.   NS_IMETHOD Curveto(float x, float y, float x1, float y1, float x2, float y2) { return _to Curveto(x, y, x1, y1, x2, y2); } \
  129.   NS_IMETHOD Arcto(float x, float y, float r1, float r2, float angle, PRBool largeArcFlag, PRBool sweepFlag) { return _to Arcto(x, y, r1, r2, angle, largeArcFlag, sweepFlag); } \
  130.   NS_IMETHOD ClosePath(float *newX, float *newY) { return _to ClosePath(newX, newY); } \
  131.   NS_IMETHOD EndPath(void) { return _to EndPath(); } 
  132.  
  133. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  134. #define NS_FORWARD_SAFE_NSISVGRENDERERPATHBUILDER(_to) \
  135.   NS_IMETHOD Moveto(float x, float y) { return !_to ? NS_ERROR_NULL_POINTER : _to->Moveto(x, y); } \
  136.   NS_IMETHOD Lineto(float x, float y) { return !_to ? NS_ERROR_NULL_POINTER : _to->Lineto(x, y); } \
  137.   NS_IMETHOD Curveto(float x, float y, float x1, float y1, float x2, float y2) { return !_to ? NS_ERROR_NULL_POINTER : _to->Curveto(x, y, x1, y1, x2, y2); } \
  138.   NS_IMETHOD Arcto(float x, float y, float r1, float r2, float angle, PRBool largeArcFlag, PRBool sweepFlag) { return !_to ? NS_ERROR_NULL_POINTER : _to->Arcto(x, y, r1, r2, angle, largeArcFlag, sweepFlag); } \
  139.   NS_IMETHOD ClosePath(float *newX, float *newY) { return !_to ? NS_ERROR_NULL_POINTER : _to->ClosePath(newX, newY); } \
  140.   NS_IMETHOD EndPath(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->EndPath(); } 
  141.  
  142. #if 0
  143. /* Use the code below as a template for the implementation class for this interface. */
  144.  
  145. /* Header file */
  146. class nsSVGRendererPathBuilder : public nsISVGRendererPathBuilder
  147. {
  148. public:
  149.   NS_DECL_ISUPPORTS
  150.   NS_DECL_NSISVGRENDERERPATHBUILDER
  151.  
  152.   nsSVGRendererPathBuilder();
  153.  
  154. private:
  155.   ~nsSVGRendererPathBuilder();
  156.  
  157. protected:
  158.   /* additional members */
  159. };
  160.  
  161. /* Implementation file */
  162. NS_IMPL_ISUPPORTS1(nsSVGRendererPathBuilder, nsISVGRendererPathBuilder)
  163.  
  164. nsSVGRendererPathBuilder::nsSVGRendererPathBuilder()
  165. {
  166.   /* member initializers and constructor code */
  167. }
  168.  
  169. nsSVGRendererPathBuilder::~nsSVGRendererPathBuilder()
  170. {
  171.   /* destructor code */
  172. }
  173.  
  174. /* void moveto (in float x, in float y); */
  175. NS_IMETHODIMP nsSVGRendererPathBuilder::Moveto(float x, float y)
  176. {
  177.     return NS_ERROR_NOT_IMPLEMENTED;
  178. }
  179.  
  180. /* void lineto (in float x, in float y); */
  181. NS_IMETHODIMP nsSVGRendererPathBuilder::Lineto(float x, float y)
  182. {
  183.     return NS_ERROR_NOT_IMPLEMENTED;
  184. }
  185.  
  186. /* void curveto (in float x, in float y, in float x1, in float y1, in float x2, in float y2); */
  187. NS_IMETHODIMP nsSVGRendererPathBuilder::Curveto(float x, float y, float x1, float y1, float x2, float y2)
  188. {
  189.     return NS_ERROR_NOT_IMPLEMENTED;
  190. }
  191.  
  192. /* void arcto (in float x, in float y, in float r1, in float r2, in float angle, in boolean largeArcFlag, in boolean sweepFlag); */
  193. NS_IMETHODIMP nsSVGRendererPathBuilder::Arcto(float x, float y, float r1, float r2, float angle, PRBool largeArcFlag, PRBool sweepFlag)
  194. {
  195.     return NS_ERROR_NOT_IMPLEMENTED;
  196. }
  197.  
  198. /* void closePath (out float newX, out float newY); */
  199. NS_IMETHODIMP nsSVGRendererPathBuilder::ClosePath(float *newX, float *newY)
  200. {
  201.     return NS_ERROR_NOT_IMPLEMENTED;
  202. }
  203.  
  204. /* void endPath (); */
  205. NS_IMETHODIMP nsSVGRendererPathBuilder::EndPath()
  206. {
  207.     return NS_ERROR_NOT_IMPLEMENTED;
  208. }
  209.  
  210. /* End of implementation class template. */
  211. #endif
  212.  
  213.  
  214. #endif /* __gen_nsISVGRendererPathBuilder_h__ */
  215.